#pragma once
#include "basetoken.h"
#include "../ScriptingSystem/Script.h"
class EnemyToken :
	public BaseToken
{

	int m_nHealth;
	int m_nDamage;
	int m_nEnemyID;
	float m_fSpeed;
	float m_fJumpSpeed;
	float m_fAttackTimer;

public:
	EnemyToken(void);
	virtual ~EnemyToken(void);

	// Interface methods
	void Update( float fElapsedTime );
	void Render( void );
	RECT GetRect( void ) const;
	bool CheckCollision( IBaseToken* pOther );

	// Accesors
	int GetHealth( void )	   const { return m_nHealth; }
	int GetDamage( void )	   const { return m_nDamage; }
	int GetEnemyID( void )     const { return m_nEnemyID; }
	float GetSpeed( void )	   const { return m_fSpeed; }
	float GetJumpSpeed( void ) const { return m_fJumpSpeed; }
	float GetAttackTimer( void ) const { return m_fAttackTimer; }

	// Mutators
	void SetHealth( int nHealth )		{ m_nHealth = nHealth; }
	void SetDamage( int nDamage )		{ m_nDamage = nDamage; }
	void SetEnemyID( int nID )			{ m_nEnemyID = nID; }
	void SetSpeed( float fSpeed )		{ m_fSpeed = fSpeed; }
	void SetJumpSpeed( float fJSpeed )	{ m_fJumpSpeed = fJSpeed; }

	// Lua
	virtual void InitFromScript( CScript* pScript, int nID );

	// Enemy IDs
	enum EnenmyIDs { Crawler, Ground, Air, Mage, Sentinel };
};

